@inherits BunitContext
@code {
    [Fact(DisplayName = "Bind method should behave like bind-directive")]
    public async Task Test400()
    {
        // arrange
        var initialValue = "Hello";

        // act
        var bindMethod = Render<FullBind>(ps => ps
            .Bind(
                p => p.Foo,
                initialValue,
                p => initialValue = p,
                () => initialValue));
        var bindDirective = Render<FullBind>(@<FullBind @bind-Foo="initialValue" />);

        // assert
        bindMethod.Instance.Foo.ShouldBe(bindDirective.Instance.Foo);

        await bindMethod.Instance.FooChanged.InvokeAsync(nameof(bindMethod));
        initialValue.ShouldBe(nameof(bindMethod));

        await bindDirective.Instance.FooChanged.InvokeAsync(nameof(bindDirective));
        initialValue.ShouldBe(nameof(bindDirective));

        bindMethod.Instance.FooExpression.ToString()
            .ShouldBe(bindDirective.Instance.FooExpression.ToString());
    }
}
